<?php

class ctl_profile extends adminPage
{

    /**
     * index
     *
     * @access public
     * @return void
     */
    //修改个人信息
    function operator()
    {
        $this->path[] = array('text' => __('帐号设置'));
        $oOpt = &$this->system->loadModel('admin/operator');
        $data = $oOpt->instance($this->system->op_id);

        $this->pagedata['op_id'] = $this->system->op_id;
        $this->pagedata['data'] = $data;
        $data['config'] = unserialize($data['config']);
        $this->pagedata['timezone_value'] = $GLOBALS['user_timezone'];

        $zones = array();
        $realtime = time() - SERVER_TIMEZONE * 3600;
        $tzs = timezone_list();
        foreach ($tzs as $i => $tz) {
            $zones[$i] = mydate('H:i', $realtime + $i * 3600) . ' - ' . $tz;
        }

        $this->pagedata['timezones'] = $zones;
        $this->pagedata['server_tz'] = $tzs[SERVER_TIMEZONE];
        $this->pagedata['tzlist'] = $tzs;
        $this->display('admin/self.html');
    }

    /**
     * saveSelf
     *
     * @access public
     * @return void
     */
    //保存自身信息（修改后保存）
    function saveSelf()
    {
        $this->begin('index.php?ctl=admin/profile&act=operator');
        $oOpt = &$this->system->loadModel('admin/operator');
        if ($_POST['changepwd']) {
            $row = $oOpt->instance($this->system->op_id, 'userpass');
            if (md5($_POST['oldpass']) != $row['userpass']) {
                $this->end(false, __('请输入正确的当前密码'));
            }
            if ($_POST['userpass'] != $_POST['passowrd_again']) {
                $this->end(false, __('两次密码输入不一致'));
            }
        } else {
            unset($_POST['userpass']);
        }
        array_key_filter($_POST, 'userpass,timezone');
        $oOpt->update($_POST, array('op_id' => $this->system->op_id));
        $_POST['op_id'] = $this->system->op_id;
        $oProfile = &$this->system->loadModel('adminprofile');
        $oProfile->load($this->system->op_id);
        $this->end($oOpt->toUpdateSelf($_POST, $oProfile->setting()), __('信息保存成功'));
    }
}

?>
